Number of Recent Calls
Leetcode #933 | Easy | Очередь | Интервалы | Design
Идея
Используем очередь, при пинге добавляем время в конец, с верха снимаеи все что меньше t-3000, возвращаем длину очереди
Big-O
- Время
O(1) - Память
O(W)
Код
class RecentCounter {
private Queue<Integer> q = new ArrayDeque<>();
public int ping(int t) {
q.offer(t);
while (q.peek() < t - 3000) q.poll();
return q.size();
}
}